查看原文
其他

全开源!使用 7 毛钱的单片机 DIY USB 电流表教程,入坑硬件设计、固件开发、外观建模

ohdarling 欧大的自留地 2024-07-04

之前已经连载完了 DIY USB 电流表的所有章节,这里汇总介绍一下这个项目,希望对电子 DIY 感兴趣的朋友们有所帮助。

这个 DIY USB 电流表的所有内容都已经开源,包括:

  • 硬件原理图

  • 硬件 PCB 布局布线

  • MCU 固件代码

  • 外壳 3D 模型 STL 文件

  • 面板生产文件

在文末可以找到开源项目的所有资料,其中硬件部分在立创开源平台,其他部分在 GitHub 中。

PS. 我也还是一个初学者,如果文章中有一些错误或不足,还请多多指教。


项目介绍

这是一个基于沁恒 CH32V003 和德州仪器 INA219 的 DIY USB 电流表,使用 CH32V003 作为主控 MCU 来读取和显示电压电流数据,INA219 作为电压电流监测计,并且通过两个按键来进行交互。

主要元件

  • MCU:CH32V003

  • 电压电流监测:INA219

  • 显示设备:SSD1306 OLED

  • 输入输出:USB Type-C

  • 采样电阻:10mR

功能设计

  • 电压、电流、功率、累计电量监测

  • USB Type-C 输入与输出

  • PD 协议透传,支持 USB PD 2.0

  • 支持功率历史图表显示

  • 按键切换电压电流数据与功率历史图表

  • 使用 0.96 寸 12864 OLED 显示相关数据

设计指标

  • 最大支持 PD 2.0 100W

  • 支持 5~20V 电压检测

  • 支持 0~5A 电流检测

  • 最小电压分辨率 10mV

  • 最小电流分辨率 2mA

  • 功率历史记录最长 128 分钟


涉及内容

这个教程涉及到了电子 DIY 从 0 开始的内容,基本上搞完下来,对于电子 DIY 也有个大概了解了,玩其他的开源项目,更多是元器件和芯片知识的扩充了。

产品设计

  • 功能设计

    • 规划 USB 电流表包括哪些功能,需要哪些字段,并且设计界面来显示这些字段

    • 用户交互输入,使用按键输入,并且具备页面切换

  • 外壳设计

    • 结合 3D 建模和亚克力面板设计,让 DIY 项目更像一个产品

硬件设计与设计

  • 元件参数与选型

    • 如何选择需要的元器件,以及根据哪些指标筛选相关的元器件

  • 原理图设计

    • 阅读芯片数据手册,添加外围元件,并且各个芯片连接起来

  • PCB 布局布线

    • 在确定完 PCB 上整体按键、输入输出接口、屏幕位置等之后,开始进行元器件的布局和布线

  • PCB 焊接和调试

    • 通过嘉立创等板厂进行免费打样,拿到 PCB 之后,通过手动焊接的方式来完成 PCBA 的制作

嵌入式软件开发

  • 开发环境搭建

    • 基于 Visual Studio Code + Platform IO 的开发环境搭建

  • 通信协议

    • 通过 I2C 协议来读取 INA219 数据,以及 SSD1306 OLED 的显示驱动

  • 屏幕和按键驱动

    • 了解 SSD1306 屏幕驱动的原理,点阵字体的格式,以及如何写一个英文字符显示驱动

    • 实现一个简单的按键检测驱动,支持单击以及长按事件检测

  • 固件体积分析和优化

    • 使用 PlatformIO Inspect 功能来分析固件体积和内容,并且针对性的优化


DIY USB 电流表完整教程

以下是 DIY USB 电流表的全部分阶段教程,可以直接点击链接查看。


USB 电流表开源地址

这个 USB 电流表所有资料已经开源,可以在以下仓库中获取,包含固件代码、PCB 生产 Gerber 文件、原理图和外壳 STL 文件。

https://github.com/ohdarling/CH32V003-USBMeter

硬件相关的源文件已经在立创开源平台开源,访问以下地址可以进行一键 PCB 下单和一键 BOM 配单操作:

https://oshwhub.com/wandaeda/ji-yu-ch32v003-de-usb-dian-liu-biao


电子 DIY 入门知识整理

当然也可以了解一些其他电子 DIY 入门相关的知识,在元器件选型时可以更有方向一些。


其他 DIY 项目

30 元 DIY 一个柔性灯丝氛围灯

教程地址:https://xujiwei.com/blog/2024/04/diy-ambient-light/

如果这个文章对你有帮助的话,可以关注、点赞、转发或分享,非常感谢 😃。

继续滑动看下一个
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存